go/types.operand.mode (field)
275 uses
go/types (current package)
api.go#L440: x := operand{mode: value, typ: V}
api.go#L451: x := operand{mode: value, typ: V}
assignments.go#L23: switch x.mode {
assignments.go#L44: x.mode = invalid
assignments.go#L61: x.mode = invalid
assignments.go#L101: x.mode = invalid
assignments.go#L106: if x.mode == invalid || x.typ == Typ[Invalid] || lhs.typ == Typ[Invalid] {
assignments.go#L114: if x.mode != constant_ {
assignments.go#L129: if x.mode == invalid {
assignments.go#L137: if x.mode == invalid || x.typ == Typ[Invalid] || lhs.typ == Typ[Invalid] {
assignments.go#L160: if x.mode == invalid {
assignments.go#L168: if x.mode == invalid || x.typ == Typ[Invalid] {
assignments.go#L180: if x.mode == invalid {
assignments.go#L209: if z.mode == invalid || z.typ == Typ[Invalid] {
assignments.go#L215: switch z.mode {
assignments.go#L224: if op.mode == mapindex {
assignments.go#L234: if x.mode == invalid {
assignments.go#L329: if x.mode == invalid {
assignments.go#L383: if x.mode == invalid {
builtins.go#L55: if x.mode == invalid {
builtins.go#L116: if x.mode == invalid {
builtins.go#L125: x.mode = value
builtins.go#L150: x.mode = value
builtins.go#L164: if x.mode == constant_ {
builtins.go#L232: x.mode = mode
builtins.go#L252: x.mode = novalue
builtins.go#L261: if y.mode == invalid {
builtins.go#L291: if x.mode == constant_ && y.mode == constant_ {
builtins.go#L306: if x.mode == invalid || y.mode == invalid {
builtins.go#L339: if x.mode == constant_ && y.mode == constant_ {
builtins.go#L342: x.mode = value
builtins.go#L345: if check.Types != nil && x.mode != constant_ {
builtins.go#L357: if y.mode == invalid {
builtins.go#L379: x.mode = value
builtins.go#L405: if x.mode == invalid {
builtins.go#L410: if x.mode == invalid {
builtins.go#L414: x.mode = novalue
builtins.go#L425: if x.mode == constant_ {
builtins.go#L438: if x.mode == invalid {
builtins.go#L471: if x.mode == constant_ {
builtins.go#L478: x.mode = value
builtins.go#L481: if check.Types != nil && x.mode != constant_ {
builtins.go#L528: x.mode = value
builtins.go#L542: x.mode = value
builtins.go#L564: if x.mode == invalid {
builtins.go#L568: x.mode = novalue
builtins.go#L584: if x.mode == invalid {
builtins.go#L592: x.mode = novalue
builtins.go#L599: x.mode = value
builtins.go#L613: if x.mode == invalid {
builtins.go#L623: x.mode = value
builtins.go#L632: if x.mode == invalid {
builtins.go#L637: x.mode = value
builtins.go#L642: x.mode = constant_
builtins.go#L660: if x.mode == invalid {
builtins.go#L690: if x.mode == variable || indirect {
builtins.go#L701: x.mode = value
builtins.go#L706: x.mode = constant_
builtins.go#L715: if x.mode == invalid {
builtins.go#L720: x.mode = value
builtins.go#L725: x.mode = constant_
builtins.go#L750: x.mode = value
builtins.go#L760: if x.mode != constant_ || !isBoolean(x.typ) {
builtins.go#L782: x.mode = novalue
call.go#L26: x.mode = invalid
call.go#L37: x.mode = invalid
call.go#L46: x.mode = invalid
call.go#L59: x.mode = value
call.go#L104: assert(x.mode == value)
call.go#L116: switch x.mode {
call.go#L125: if x.mode == invalid {
call.go#L129: x.mode = invalid
call.go#L135: if x.mode != invalid {
call.go#L159: x.mode = invalid
call.go#L163: if x.mode != invalid && x.mode != constant_ {
call.go#L171: cgocall := x.mode == cgofunc
call.go#L177: x.mode = invalid
call.go#L190: x.mode = invalid
call.go#L201: x.mode = invalid
call.go#L220: x.mode = novalue
call.go#L223: x.mode = commaerr
call.go#L225: x.mode = value
call.go#L229: x.mode = value
call.go#L237: if x.mode == value && sig.TypeParams().Len() > 0 && isParameterized(sig.TypeParams().list(), x.typ) {
call.go#L238: x.mode = invalid
call.go#L254: if t, ok := x.typ.(*Tuple); ok && x.mode != invalid {
call.go#L258: xlist[i] = &operand{mode: value, expr: e, typ: v.typ}
call.go#L265: if allowCommaOk && (x.mode == mapindex || x.mode == commaok || x.mode == commaerr) {
call.go#L266: x2 := &operand{mode: value, expr: e, typ: Typ[UntypedBool]}
call.go#L267: if x.mode == commaerr {
call.go#L293: switch a.mode {
call.go#L497: x.mode = constant_
call.go#L501: x.mode = typexpr
call.go#L504: x.mode = variable
call.go#L510: x.mode = funcMode
call.go#L513: x.mode = value
call.go#L517: x.mode = builtin
call.go#L530: switch x.mode {
call.go#L545: obj, index, indirect = LookupFieldOrMethod(x.typ, x.mode == variable, check.pkg, sel)
call.go#L579: if obj, _, _ = LookupFieldOrMethod(x.typ, x.mode == variable, check.pkg, changeCase); obj != nil {
call.go#L593: if x.mode == typexpr {
call.go#L631: x.mode = value
call.go#L646: if x.mode == variable || indirect {
call.go#L647: x.mode = variable
call.go#L649: x.mode = value
call.go#L672: if x.mode == variable {
call.go#L703: x.mode = value
call.go#L722: x.mode = invalid
check.go#L408: switch x.mode {
check.go#L424: check.rememberUntyped(x.expr, false, x.mode, typ.(*Basic), val)
check.go#L426: check.recordTypeAndValue(x.expr, x.mode, typ, val)
conversions.go#L17: constArg := x.mode == constant_
conversions.go#L65: x.mode = value // type parameters are not constants
conversions.go#L69: x.mode = value
conversions.go#L88: x.mode = invalid
conversions.go#L106: } else if x.mode == constant_ && isInteger(x.typ) && allString(T) {
expr.go#L91: assert(x.mode == constant_)
expr.go#L159: if x.mode == invalid {
expr.go#L166: if _, ok := unparen(e.X).(*ast.CompositeLit); !ok && x.mode != variable {
expr.go#L168: x.mode = invalid
expr.go#L171: x.mode = value
expr.go#L179: x.mode = invalid
expr.go#L185: x.mode = invalid
expr.go#L190: x.mode = invalid
expr.go#L194: x.mode = commaok
expr.go#L201: x.mode = invalid
expr.go#L205: if x.mode == constant_ {
expr.go#L220: x.mode = value
expr.go#L421: x.mode = invalid
expr.go#L433: assert(x.mode == constant_)
expr.go#L587: if c.mode == invalid {
expr.go#L613: x.mode = invalid
expr.go#L633: if x.mode == invalid || isTyped(x.typ) || target == Typ[Invalid] {
expr.go#L653: if x.mode == constant_ {
expr.go#L809: if x.mode == constant_ && y.mode == constant_ {
expr.go#L814: x.mode = value
expr.go#L850: x.mode = invalid
expr.go#L900: if x.mode == constant_ {
expr.go#L910: x.mode = invalid
expr.go#L919: if y.mode == constant_ {
expr.go#L924: x.mode = invalid
expr.go#L932: if y.mode == invalid {
expr.go#L933: x.mode = invalid
expr.go#L943: x.mode = invalid
expr.go#L950: if y.mode == invalid {
expr.go#L951: x.mode = invalid
expr.go#L956: x.mode = invalid
expr.go#L961: if x.mode == constant_ {
expr.go#L962: if y.mode == constant_ {
expr.go#L977: x.mode = invalid
expr.go#L1024: x.mode = value
expr.go#L1032: x.mode = invalid
expr.go#L1036: x.mode = value
expr.go#L1068: if x.mode == invalid {
expr.go#L1071: if y.mode == invalid {
expr.go#L1072: x.mode = invalid
expr.go#L1103: if x.mode == invalid {
expr.go#L1107: if y.mode == invalid {
expr.go#L1108: x.mode = invalid
expr.go#L1132: x.mode = invalid
expr.go#L1137: x.mode = invalid
expr.go#L1143: if (x.mode == constant_ || allInteger(x.typ)) && y.mode == constant_ && constant.Sign(y.val) == 0 {
expr.go#L1145: x.mode = invalid
expr.go#L1150: if x.mode == constant_ && y.mode == constant_ && isComplex(x.typ) {
expr.go#L1155: x.mode = invalid
expr.go#L1161: if x.mode == constant_ && y.mode == constant_ {
expr.go#L1178: x.mode = value
expr.go#L1222: if x.mode == invalid || x.mode == novalue {
expr.go#L1238: x.mode = invalid
expr.go#L1249: x.mode = invalid
expr.go#L1285: if x.mode == invalid {
expr.go#L1310: x.mode = value
expr.go#L1480: if x.mode == invalid {
expr.go#L1483: if x.mode == constant_ {
expr.go#L1527: x.mode = value
expr.go#L1543: if x.mode == invalid {
expr.go#L1549: if x.mode == invalid {
expr.go#L1555: if x.mode == invalid {
expr.go#L1579: x.mode = commaok
expr.go#L1587: switch x.mode {
expr.go#L1610: x.mode = variable
expr.go#L1616: if x.mode == invalid {
expr.go#L1626: if x.mode == invalid {
expr.go#L1637: x.mode = typexpr
expr.go#L1654: x.mode = invalid
expr.go#L1741: if modeset&(1<<x.mode) != 0 {
expr.go#L1744: switch x.mode {
expr.go#L1762: x.mode = invalid
expr.go#L1768: if x.mode == value {
expr.go#L1777: x.mode = invalid
index.go#L22: switch x.mode {
index.go#L29: x.mode = invalid
index.go#L33: x.mode = typexpr
index.go#L46: if x.mode == invalid {
index.go#L57: if x.mode == constant_ {
index.go#L63: x.mode = value
index.go#L70: if x.mode != variable {
index.go#L71: x.mode = value
index.go#L79: x.mode = variable
index.go#L85: x.mode = variable
index.go#L91: x.mode = invalid
index.go#L98: x.mode = mapindex
index.go#L123: if x.mode != variable {
index.go#L165: x.mode = invalid
index.go#L172: x.mode = mapindex
index.go#L180: x.mode = mode
index.go#L188: x.mode = invalid
index.go#L194: x.mode = invalid
index.go#L211: if x.mode == invalid {
index.go#L221: x.mode = invalid
index.go#L232: x.mode = invalid
index.go#L236: if x.mode == constant_ {
index.go#L249: if x.mode != variable {
index.go#L251: x.mode = invalid
index.go#L270: x.mode = invalid
index.go#L274: x.mode = value
index.go#L279: x.mode = invalid
index.go#L357: if x.mode != constant_ {
index.go#L377: if x.mode == invalid {
index.go#L383: if x.mode == invalid {
index.go#L393: if x.mode == constant_ {
infer.go#L248: if arg.mode == invalid {
operand.go#L54: mode operandMode
operand.go#L108: if x.mode == value && x.typ == Typ[UntypedNil] {
operand.go#L118: switch x.mode {
operand.go#L136: switch x.mode {
operand.go#L152: buf.WriteString(operandModeString[x.mode])
operand.go#L155: if x.mode == constant_ {
operand.go#L214: x.mode = invalid
operand.go#L218: x.mode = constant_
operand.go#L225: return x.mode == value && x.typ == Typ[UntypedNil]
operand.go#L235: if x.mode == invalid || T == Typ[Invalid] {
stmt.go#L242: if x.mode == invalid || v.mode == invalid {
stmt.go#L246: if v.mode == invalid {
stmt.go#L252: if res.mode == invalid {
stmt.go#L255: if v.mode != constant_ {
stmt.go#L398: switch x.mode {
stmt.go#L418: if ch.mode == invalid || val.mode == invalid {
stmt.go#L451: if x.mode == invalid {
stmt.go#L461: if x.mode == invalid {
stmt.go#L493: if x.mode == invalid {
stmt.go#L568: if x.mode != invalid && !allBoolean(x.typ) {
stmt.go#L595: if x.mode != invalid && !Comparable(x.typ) && !hasNil(x.typ) {
stmt.go#L597: x.mode = invalid
stmt.go#L602: x.mode = constant_
stmt.go#L684: if x.mode == invalid {
stmt.go#L806: if x.mode != invalid && !allBoolean(x.typ) {
stmt.go#L831: if x.mode != invalid {
stmt.go#L896: x.mode = value
stmt.go#L922: x.mode = value
typexpr.go#L23: x.mode = invalid
typexpr.go#L36: x.mode = typexpr
typexpr.go#L96: x.mode = constant_
typexpr.go#L103: x.mode = typexpr
typexpr.go#L116: x.mode = variable
typexpr.go#L120: x.mode = value
typexpr.go#L124: x.mode = builtin
typexpr.go#L127: x.mode = value
typexpr.go#L246: switch x.mode {
typexpr.go#L263: switch x.mode {
typexpr.go#L516: if x.mode != constant_ {
typexpr.go#L517: if x.mode != invalid {